home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1998 July
/
EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso
/
earkit
/
socket
/
miami3
/
miamisdk
/
netinclude
/
sys
/
time.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-05-24
|
2KB
|
80 lines
#ifndef _SYS_TIME_H_
#define _SYS_TIME_H_
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef DEVICES_TIMER_H
#include <devices/timer.h>
#endif
/*
* Structure returned by gettimeofday(2) system call,
* and used in other calls.
*/
struct compatible_timeval {
union {
long s_sec;
ULONG u_secs;
} mtv_sec;
union {
long s_usec;
ULONG u_micro;
} mtv_usec;
};
#define timeval compatible_timeval
#define tv_sec mtv_sec.s_sec
#define tv_usec mtv_usec.s_usec
#define tv_secs mtv_sec.u_secs
#define tv_micro mtv_usec.u_micro
struct compatible_timerequest {
struct IORequest tr_node;
struct timeval tr_time;
};
#define timerequest compatible_timerequest
/*
* Structure defined by POSIX.4 to be like a timeval.
*/
struct timespec {
long ts_sec; /* seconds */
long ts_nsec; /* and nanoseconds */
};
#define TIMEVAL_TO_TIMESPEC(tv, ts) { \
(ts)->ts_sec = (tv)->tv_sec; \
(ts)->ts_nsec = (tv)->tv_usec * 1000; \
}
#define TIMESPEC_TO_TIMEVAL(tv, ts) { \
(tv)->tv_sec = (ts)->ts_sec; \
(tv)->tv_usec = (ts)->ts_nsec / 1000; \
}
#include "time.h"
struct timezone {
int tz_minuteswest; /* minutes west of Greenwich */
int tz_dsttime; /* type of dst correction */
};
#define DST_NONE 0 /* not on dst */
#define DST_USA 1 /* USA style dst */
#define DST_AUST 2 /* Australian style dst */
#define DST_WET 3 /* Western European dst */
#define DST_MET 4 /* Middle European dst */
#define DST_EET 5 /* Eastern European dst */
#define DST_CAN 6 /* Canada */
/* Operations on timevals. */
#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
#define timercmp(tvp, uvp, cmp) \
(((tvp)->tv_sec == (uvp)->tv_sec) ? \
((tvp)->tv_usec cmp (uvp)->tv_usec) : \
((tvp)->tv_sec cmp (uvp)->tv_sec))
#endif /* !_SYS_TIME_H_ */